/**
 *
 * 列表list数据 -> 树形tree数据
 * @params {Array} list 列表数据 {rootValue} number 根节点的pid
*/

export const listToTree = (list, rootValue) => { // 使用递归rootValue必须发生变化否则会进入死循环
  // 核心逻辑：遍历列表数据，找到父级部门，通过递归，生成树形结构数据
  // 子级部门id等于父级部门pid
  const arr = []
  list.forEach(item => {
    if (item.pid === rootValue) {
      const children = listToTree(list, item.id) // 每次调用时最外层函数的rootValue会变成item.id
      // 判断children是否存在 如果存在 则将children添加到item中
      if (children.length) item.children = children
      arr.push(item)
    }
  })
  return arr
}
//   console.log(item)
//   list.forEach(aitem => {
//     if (item.id === aitem.pid) {
//       console.log(aitem)
//       item.children = item.children || []
//       item.children.push(aitem)
//       list.forEach(bitem => {
//         if (aitem.id === bitem.pid) {
//           console.log(bitem)
//           aitem.children = aitem.children || []
//           aitem.children.push(bitem)
//         }
//       })
//     }
//   })
